Field programmable gate array (“FPGA”) devices are integrated circuit chips having an array of configurable logic blocks embedded in a matrix of interconnecting conductors with configurable connections to each other and to the logic blocks. A single grouping of programmable elements, of which there may be many in a single FPGA chip, is illustrated in FIG. 1. The grouping's size will be determined by the physical characteristics of the architecture of the FPGA.
The central structures are the data access register arrangement 100 and the addressing function 120 that determine which of the programmable elements 140-157 are being acted upon. Each of these structures in FIG. 1 will be fed by a central load mechanism 103 that is designed to load one or more such structures and will feed to a central cyclic redundancy check (“CRC”) checking structure 104 that can check many of these structures. The data access register arrangement 100 is fed from the central load mechanism by a scan connection 101 and feeds to the central CRC checking structure 104 by a scan connection 102.
Each programmable element 140-157 consists of two parts, the static random access memory (“SRAM”) 160 and the programmable logic 161. The size of the SRAM 160 in each cell is determined by the extent of the programmability of the programmable logic 161. The size of the SRAM 160 and the desired speed to conduct the checking will determine the extent of the checking performed.
The addressing function 120 will determine which programmable element or elements 140-157 will be loaded or read to the data access register arrangement 100 in any given cycle. The data access register arrangement 100 is connected to the programmable elements 140-157 by data buses 110-115 which are each as wide as the SRAM 160 in a single programmable element 140-157.
The control from the address function 120 to each programmable element is connected by address selection signals 130-135. It is possible to load multiple programmable elements in a single column in this example such as 140, 146, and 152.